package com.sale.salesystem.vo;

import lombok.Data;
import java.math.BigDecimal;
import java.util.List;

@Data
public class ShopAnalysisVO {
    // KPI数据
    private ShopKpiVO kpiData;
    // 排名数据
    private ShopRankingVO rankingData;
    // 城市数据
    private CityDataVO cityData;
    // 商店趋势数据
    private ShopTrendVO shopTrend;

    @Data
    public static class ShopKpiVO {
        private BigDecimal totalSales;      // 总销售额
        private Double salesWeekOnWeek;     // 销售额周同比
        private Double salesDayOnDay;       // 销售额日环比
        private Integer totalVolume;        // 总销售量
        private Double volumeWeekOnWeek;    // 销售量周同比
        private Double volumeDayOnDay;      // 销售量日环比
    }

    @Data
    public static class ShopRankingVO {
        private List<String> shops;         // 商店列表
        private List<BigDecimal> sales;     // 销售额列表
        private List<BigDecimal> profits;   // 利润列表
    }

    @Data
    public static class CityDataVO {
        private List<CityShopVO> distribution;  // 城市商店分布
        private CitySalesVO sales;              // 城市销售数据
    }

    @Data
    public static class CityShopVO {
        private String name;    // 城市名称
        private Integer value;  // 商店数量
    }

    @Data
    public static class CitySalesVO {
        private List<String> cities;        // 城市列表
        private List<BigDecimal> sales;     // 销售额列表
        private List<Integer> volumes;      // 销售量列表
    }

    @Data
    public static class ShopTrendVO {
        private List<String> months;        // 月份列表
        private List<BigDecimal> sales;     // 销售额趋势
        private List<BigDecimal> profits;   // 利润趋势
    }
} 